home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / DrawSprocket.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  10.9 KB  |  292 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        DrawSprocket.p
  3.  
  4.      Contains:    Games Sprockets: DrawSprocket interfaces
  5.  
  6.      Version:    Technology:    Draw Sprocket 1.1.2
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1996-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT DrawSprocket;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __DRAWSPROCKET__}
  27. {$SETC __DRAWSPROCKET__ := 1}
  28.  
  29. {$I+}
  30. {$SETC DrawSprocketIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __EVENTS__}
  37. {$I Events.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __QUICKDRAW__}
  40. {$I Quickdraw.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __QDOFFSCREEN__}
  43. {$I QDOffscreen.p}
  44. {$ENDC}
  45. {$IFC UNDEFINED __DISPLAYS__}
  46. {$I Displays.p}
  47. {$ENDC}
  48.  
  49.  
  50. {$PUSH}
  51. {$ALIGN POWER}
  52. {$LibExport+}
  53.  
  54. {$IFC TARGET_RT_MAC_CFM }
  55. {
  56. ********************************************************************************
  57. ** error/warning codes
  58. ********************************************************************************
  59. }
  60.  
  61. CONST
  62.     kDSpNotInitializedErr        = -30440;
  63.     kDSpSystemSWTooOldErr        = -30441;
  64.     kDSpInvalidContextErr        = -30442;
  65.     kDSpInvalidAttributesErr    = -30443;
  66.     kDSpContextAlreadyReservedErr = -30444;
  67.     kDSpContextNotReservedErr    = -30445;
  68.     kDSpContextNotFoundErr        = -30446;
  69.     kDSpFrameRateNotReadyErr    = -30447;
  70.     kDSpConfirmSwitchWarning    = -30448;
  71.     kDSpInternalErr                = -30449;
  72.     kDSpStereoContextErr        = -30450;
  73.  
  74. {
  75. ********************************************************************************
  76. ** constants
  77. ********************************************************************************
  78. }
  79.  
  80. TYPE
  81.     DSpDepthMask                 = LONGINT;
  82. CONST
  83.     kDSpDepthMask_1                = {DSpDepthMask}$01;
  84.     kDSpDepthMask_2                = {DSpDepthMask}$02;
  85.     kDSpDepthMask_4                = {DSpDepthMask}$04;
  86.     kDSpDepthMask_8                = {DSpDepthMask}$08;
  87.     kDSpDepthMask_16            = {DSpDepthMask}$10;
  88.     kDSpDepthMask_32            = {DSpDepthMask}$20;
  89.     kDSpDepthMask_All            = {DSpDepthMask}-1;
  90.  
  91.  
  92. TYPE
  93.     DSpColorNeeds                 = LONGINT;
  94. CONST
  95.     kDSpColorNeeds_DontCare        = {DSpColorNeeds}0;
  96.     kDSpColorNeeds_Request        = {DSpColorNeeds}1;
  97.     kDSpColorNeeds_Require        = {DSpColorNeeds}2;
  98.  
  99.  
  100. TYPE
  101.     DSpContextState             = LONGINT;
  102. CONST
  103.     kDSpContextState_Active        = {DSpContextState}0;
  104.     kDSpContextState_Paused        = {DSpContextState}1;
  105.     kDSpContextState_Inactive    = {DSpContextState}2;
  106.  
  107. { kDSpContextOption_QD3DAccel not yet implemented }
  108.  
  109. TYPE
  110.     DSpContextOption             = LONGINT;
  111. CONST
  112.                                                                 {     kDSpContextOption_QD3DAccel        = 1<<0, }
  113.     kDSpContextOption_PageFlip    = {DSpContextOption}$02;
  114.     kDSpContextOption_DontSyncVBL = {DSpContextOption}$04;
  115.     kDSpContextOption_Stereoscopic = {DSpContextOption}$08;
  116.  
  117.  
  118. TYPE
  119.     DSpAltBufferOption             = LONGINT;
  120. CONST
  121.     kDSpAltBufferOption_RowBytesEqualsWidth = {DSpAltBufferOption}$01;
  122.  
  123.  
  124. TYPE
  125.     DSpBufferKind                 = LONGINT;
  126. CONST
  127.     kDSpBufferKind_Normal        = {DSpBufferKind}0;
  128.     kDSpBufferKind_LeftEye        = {DSpBufferKind}0;
  129.     kDSpBufferKind_RightEye        = {DSpBufferKind}1;
  130.  
  131.  
  132. TYPE
  133.     DSpBlitMode                 = LONGINT;
  134. CONST
  135.     kDSpBlitMode_SrcKey            = {DSpBlitMode}$01;
  136.     kDSpBlitMode_DstKey            = {DSpBlitMode}$02;
  137.     kDSpBlitMode_Interpolation    = {DSpBlitMode}$04;
  138.  
  139. {
  140. ********************************************************************************
  141. ** data types
  142. ********************************************************************************
  143. }
  144.  
  145. TYPE
  146.     DSpAltBufferReference = ^LONGINT;
  147.     DSpContextReference = ^LONGINT;
  148. {$IFC TYPED_FUNCTION_POINTERS}
  149.     DSpEventProcPtr = FUNCTION(VAR inEvent: EventRecord): BOOLEAN; C;
  150. {$ELSEC}
  151.     DSpEventProcPtr = ProcPtr;
  152. {$ENDC}
  153.  
  154. {$IFC TYPED_FUNCTION_POINTERS}
  155.     DSpCallbackProcPtr = FUNCTION(inContext: DSpContextReference; inRefCon: UNIV Ptr): BOOLEAN; C;
  156. {$ELSEC}
  157.     DSpCallbackProcPtr = ProcPtr;
  158. {$ENDC}
  159.  
  160.     DSpContextAttributesPtr = ^DSpContextAttributes;
  161.     DSpContextAttributes = RECORD
  162.         frequency:                Fixed;
  163.         displayWidth:            UInt32;
  164.         displayHeight:            UInt32;
  165.         reserved1:                UInt32;
  166.         reserved2:                UInt32;
  167.         colorNeeds:                UInt32;
  168.         colorTable:                CTabHandle;
  169.         contextOptions:            OptionBits;
  170.         backBufferDepthMask:    OptionBits;
  171.         displayDepthMask:        OptionBits;
  172.         backBufferBestDepth:    UInt32;
  173.         displayBestDepth:        UInt32;
  174.         pageCount:                UInt32;
  175.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  176.         gameMustConfirmSwitch:    BOOLEAN;
  177.         reserved3:                ARRAY [0..3] OF UInt32;
  178.     END;
  179.  
  180.     DSpAltBufferAttributesPtr = ^DSpAltBufferAttributes;
  181.     DSpAltBufferAttributes = RECORD
  182.         width:                    UInt32;
  183.         height:                    UInt32;
  184.         options:                DSpAltBufferOption;
  185.         reserved:                ARRAY [0..3] OF UInt32;
  186.     END;
  187.  
  188.     DSpBlitInfoPtr = ^DSpBlitInfo;
  189. {$IFC TYPED_FUNCTION_POINTERS}
  190.     DSpBlitDoneProc = PROCEDURE(VAR info: DSpBlitInfo); C;
  191. {$ELSEC}
  192.     DSpBlitDoneProc = ProcPtr;
  193. {$ENDC}
  194.  
  195.     DSpBlitInfo = RECORD
  196.         completionFlag:            BOOLEAN;
  197.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  198.         completionProc:            DSpBlitDoneProc;
  199.         srcContext:                DSpContextReference;
  200.         srcBuffer:                CGrafPtr;
  201.         srcRect:                Rect;
  202.         srcKey:                    UInt32;
  203.         dstContext:                DSpContextReference;
  204.         dstBuffer:                CGrafPtr;
  205.         dstRect:                Rect;
  206.         dstKey:                    UInt32;
  207.         mode:                    DSpBlitMode;
  208.         reserved:                ARRAY [0..3] OF UInt32;
  209.     END;
  210.  
  211. {
  212. ********************************************************************************
  213. ** function prototypes
  214. ********************************************************************************
  215. }
  216. {
  217. ** global operations
  218. }
  219. FUNCTION DSpStartup: OSStatus; C;
  220. FUNCTION DSpShutdown: OSStatus; C;
  221. FUNCTION DSpGetFirstContext(inDisplayID: DisplayIDType; VAR outContext: DSpContextReference): OSStatus; C;
  222. FUNCTION DSpGetNextContext(inCurrentContext: DSpContextReference; VAR outContext: DSpContextReference): OSStatus; C;
  223. FUNCTION DSpFindBestContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outContext: DSpContextReference): OSStatus; C;
  224. FUNCTION DSpCanUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outUserCanSelectContext: BOOLEAN): OSStatus; C;
  225. FUNCTION DSpUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; inDialogDisplayLocation: DisplayIDType; inEventProc: DSpEventProcPtr; VAR outContext: DSpContextReference): OSStatus; C;
  226. FUNCTION DSpProcessEvent(VAR inEvent: EventRecord; VAR outEventWasProcessed: BOOLEAN): OSStatus; C;
  227. FUNCTION DSpSetBlankingColor({CONST}VAR inRGBColor: RGBColor): OSStatus; C;
  228. FUNCTION DSpSetDebugMode(inDebugMode: BOOLEAN): OSStatus; C;
  229. FUNCTION DSpFindContextFromPoint(inGlobalPoint: Point; VAR outContext: DSpContextReference): OSStatus; C;
  230. FUNCTION DSpGetMouse(VAR outGlobalPoint: Point): OSStatus; C;
  231. {
  232. ** alternate buffer operations
  233. }
  234. FUNCTION DSpAltBuffer_New(inContext: DSpContextReference; inVRAMBuffer: BOOLEAN; VAR inAttributes: DSpAltBufferAttributes; VAR outAltBuffer: DSpAltBufferReference): OSStatus; C;
  235. FUNCTION DSpAltBuffer_Dispose(inAltBuffer: DSpAltBufferReference): OSStatus; C;
  236. FUNCTION DSpAltBuffer_InvalRect(inAltBuffer: DSpAltBufferReference; {CONST}VAR inInvalidRect: Rect): OSStatus; C;
  237. FUNCTION DSpAltBuffer_GetCGrafPtr(inAltBuffer: DSpAltBufferReference; inBufferKind: DSpBufferKind; VAR outCGrafPtr: CGrafPtr; VAR outGDevice: GDHandle): OSStatus; C;
  238. {
  239. ** context operations
  240. }
  241. { general }
  242. FUNCTION DSpContext_GetAttributes(inContext: DSpContextReference; outAttributes: DSpContextAttributesPtr): OSStatus; C;
  243. FUNCTION DSpContext_Reserve(inContext: DSpContextReference; inDesiredAttributes: DSpContextAttributesPtr): OSStatus; C;
  244. FUNCTION DSpContext_Release(inContext: DSpContextReference): OSStatus; C;
  245. FUNCTION DSpContext_GetDisplayID(inContext: DSpContextReference; VAR outDisplayID: DisplayIDType): OSStatus; C;
  246. FUNCTION DSpContext_GlobalToLocal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  247. FUNCTION DSpContext_LocalToGlobal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  248. FUNCTION DSpContext_SetVBLProc(inContext: DSpContextReference; inProcPtr: DSpCallbackProcPtr; inRefCon: UNIV Ptr): OSStatus; C;
  249. FUNCTION DSpContext_GetFlattenedSize(inContext: DSpContextReference; VAR outFlatContextSize: UInt32): OSStatus; C;
  250. FUNCTION DSpContext_Flatten(inContext: DSpContextReference; outFlatContext: UNIV Ptr): OSStatus; C;
  251. FUNCTION DSpContext_Restore(inFlatContext: UNIV Ptr; VAR outRestoredContext: DSpContextReference): OSStatus; C;
  252. FUNCTION DSpContext_GetMonitorFrequency(inContext: DSpContextReference; VAR outFrequency: Fixed): OSStatus; C;
  253. FUNCTION DSpContext_SetMaxFrameRate(inContext: DSpContextReference; inMaxFPS: UInt32): OSStatus; C;
  254. FUNCTION DSpContext_GetMaxFrameRate(inContext: DSpContextReference; VAR outMaxFPS: UInt32): OSStatus; C;
  255. FUNCTION DSpContext_SetState(inContext: DSpContextReference; inState: DSpContextState): OSStatus; C;
  256. FUNCTION DSpContext_GetState(inContext: DSpContextReference; VAR outState: DSpContextState): OSStatus; C;
  257. FUNCTION DSpContext_IsBusy(inContext: DSpContextReference; VAR outBusyFlag: BOOLEAN): OSStatus; C;
  258. { dirty rectangles }
  259. FUNCTION DSpContext_SetDirtyRectGridSize(inContext: DSpContextReference; inCellPixelWidth: UInt32; inCellPixelHeight: UInt32): OSStatus; C;
  260. FUNCTION DSpContext_GetDirtyRectGridSize(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  261. FUNCTION DSpContext_GetDirtyRectGridUnits(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  262. FUNCTION DSpContext_InvalBackBufferRect(inContext: DSpContextReference; {CONST}VAR inRect: Rect): OSStatus; C;
  263. { underlays }
  264. FUNCTION DSpContext_SetUnderlayAltBuffer(inContext: DSpContextReference; inNewUnderlay: DSpAltBufferReference): OSStatus; C;
  265. FUNCTION DSpContext_GetUnderlayAltBuffer(inContext: DSpContextReference; VAR outUnderlay: DSpAltBufferReference): OSStatus; C;
  266. { gamma }
  267. FUNCTION DSpContext_FadeGammaOut(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  268. FUNCTION DSpContext_FadeGammaIn(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  269. FUNCTION DSpContext_FadeGamma(inContext: DSpContextReference; inPercentOfOriginalIntensity: SInt32; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  270. { buffering }
  271. FUNCTION DSpContext_SwapBuffers(inContext: DSpContextReference; inBusyProc: DSpCallbackProcPtr; inUserRefCon: UNIV Ptr): OSStatus; C;
  272. FUNCTION DSpContext_GetBackBuffer(inContext: DSpContextReference; inBufferKind: DSpBufferKind; VAR outBackBuffer: CGrafPtr): OSStatus; C;
  273. FUNCTION DSpContext_GetFrontBuffer(inContext: DSpContextReference; VAR outFrontBuffer: CGrafPtr): OSStatus; C;
  274. { clut operations }
  275. FUNCTION DSpContext_SetCLUTEntries(inContext: DSpContextReference; {CONST}VAR inEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  276. FUNCTION DSpContext_GetCLUTEntries(inContext: DSpContextReference; VAR outEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  277. { blit operations }
  278. FUNCTION DSpBlit_Faster(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  279. FUNCTION DSpBlit_Fastest(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  280. {$ENDC}  {TARGET_RT_MAC_CFM}
  281.  
  282. {$ALIGN RESET}
  283. {$POP}
  284.  
  285. {$SETC UsingIncludes := DrawSprocketIncludes}
  286.  
  287. {$ENDC} {__DRAWSPROCKET__}
  288.  
  289. {$IFC NOT UsingIncludes}
  290.  END.
  291. {$ENDC}
  292.